Three-dimensional pattern editing apparatus having moving distance calculator and/or a dragging pattern holding unit

ABSTRACT

A three-dimensional pattern editing apparatus used in a CAD system edits three-dimensional patterns in accordance with a user&#39;s input operation and displays the result of edition. A pattern display unit displays a plurality of three-dimensional patterns, divided into a plurality of areas, on the display device and each having the same pattern, but having different view points. A displayed pattern moving unit moves the three-dimensional pattern which is displayed on any one divided area in accordance with a predetermined input operation; A displayed pattern linking unit moves the three-dimensional pattern displayed on another are to the converted direction in accordance with on the converted amount. The real time display of pattern movement is realized by applying only a logic operation on pixel image data stored in the frame buffer rather than using the vector description of the object.

FIELD OF THE INVENTION

The present invention relates to a three-dimensional pattern editingapparatus. More particularly, it relates to a three-dimensional patternediting apparatus which improves the efficiency of a dragging operationand raises the efficiency of editing for pattern movement when a useredits patterns by handling an input unit, such as a keyboard and amouse, and displays the result of the editing operation on a displaydevice.

BACKGROUND OF THE INVENTION

A three-dimensional pattern editing apparatus used in a CAD system,which utilizes a computer, is now utilized in various design fields, forexample, construction, machine, electricity, electronics, automobile,etc., to perform three-dimensional design. In this apparatus, athree-dimensional pattern can be displayed on the display device fromany one viewpoint which the user requires and can be enlarged and freelymoved. Accordingly, this apparatus can contribute to an improvement ofdesign quality since it can confirm the pattern visually from all angles(directions) when the user wishes to optimally arrange all structuralelements in complicated structures or in three-dimensional pipe and wirearrangements.

In the above mentioned design work and confirmation process, the userfrequently performs a dragging operation which moves thethree-dimensional pattern by moving a cursor on the display with akeyboard or a mouse.

When performing the design work and the confirmation process byutilizing a CAD system, in general, a plurality of rectangular areas(each rectangular area is called a "view") are displayed on the displaydevice when the user changes his viewpoint toward the three-dimensionalobject. Accordingly, the three-dimensional pattern for each "view" canbe displayed in accordance with the various viewpoints.

Conventionally, the editing operation of the three-dimensional patternis performed only on the pattern within any one "view". When the editingwork of pattern movement is started in accordance with a draggingoperation by the user, a position of destination (of movement) of thethree-dimensional pattern, which is the dragged object, can becalculated in real time in response to the dragging operation. In thiscase, a conventional dragging operation is executed by using linepatterns (vectors) so that the apparent speed of the dragging operationdepends on the drawing speed of line patterns.

Further, conventionally, during dragging operations, thethree-dimensional pattern is drawn for the position of the calculatedline patterns only within the "view" where the mouse cursor exists, andthe three-dimensional pattern which exists in the original position isdeleted for every drawing operation.

When the user confirms completion of this dragging operation, the samedragging operations as above are performed to all other "views" of thethree-dimensional pattern which is the object of the dragging operation.As a result, the user confirms, in all "views" and by changing hisviewpoint, whether the three-dimensional pattern is moved to the targetposition.

However, in the above mentioned conventional method, since the patternmovement based on the dragging operation is performed only within anyone "view" where the mouse cursor exists, it is difficult to checkwhether the three-dimensional pattern is moved to the target positionduring the dragging operation through another "view". Accordingly, it isnecessary to perform the dragging operation repeatedly until the usercan confirm completion of the movement of the three-dimensional patternfrom the original position to the target position.

Further, since the target three-dimensional pattern is drawn at aposition which is calculated in real time, and since the deletingprocess of the three-dimensional pattern which exists in the originalposition is repeated during the dragging operation for every drawing,there is a problem that the processing speed of the pattern movementduring the dragging operation is reduced.

The object of the present invention is to solve the above problem andlies in improvement of editing efficiency of a pattern moving operationduring a dragging operation.

That is, as explained above, since the conventional dragging operationis performed by using line patterns, the movement speed of the patterndepends on the drawing speed of the line pattern. Further, since thedragging operation is performed for every "view" a lot of time isrequired in response to an increase in the number of structural elementswhich are the object of the dragging operation. Still further, since thesame dragging operations are repeated for every "view" a lot of time isrequired for the drawing operation.

In the present invention, since the three-dimensional patterns includingline patterns which are the object of the drawing operation are storedin a memory as image data, and since the image data are moved (i.e.,dragged) after storage, it is possible to perform high speed draggingoperation only after a logic operation is executed for dots in thememory. Further, it is possible to collectively perform draggingoperations for all "views".

SUMMARY OF THE INVENTION

The three-dimensional pattern editing apparatus according to a firstaspect of the present invention is formed of a pattern display unit fordisplaying a plurality of three-dimensional patterns divided into aplurality of areas on the display device and each having the samepattern, but having different viewpoints; a displayed pattern movingunit for moving the three-dimensional pattern which is displayed on anyone divided area in accordance with predetermined input operation; apattern movement converting unit for converting an amount of movementand direction of the three-dimensional pattern in the divided area to anamount of movement and direction of the three-dimensional pattern inanother divided area in real time; and a displayed pattern linking unitfor moving the three-dimensional pattern displayed on another area tothe converted direction in accordance with only the converted amount.

Based on above structure, in the first aspect of the present invention,when the user performs a moving operation (i.e., a dragging operation)on the three-dimensional pattern which is displayed on any one dividedarea, it is possible to execute in real time a pattern movement for theobject in another divided area.

The three-dimensional pattern editing apparatus according to a secondaspect of the present invention is formed by a pattern displaying unitfor displaying the three-dimensional patterns which become the object ofediting; a pattern holding unit for holding image data of the designatedthree-dimensional pattern in an internal memory; a moving destinationcalculating unit for calculating the destination of the movement of thedesignated three-dimensional pattern in real time in accordance with aninput operation by the user; and a moved pattern displaying unit fordisplaying the three-dimensional pattern, which is shown by the imagedata on the internal memory, at the destination position calculated bythe calculating unit.

Based on the above structure, it is possible to perform in real timedisplay of the pattern movement, using the image data on the internalmemory, and to realize movement in accordance with only a transferprocess of the image data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a principle view of a first embodiment of the presentinvention,

FIG. 2 is a principle view of a second invention,

FIG. 3 is a structural view according to an embodiment of the firstembodiment of the present invention,

FIG. 4A is one example of display of each "view" on a display device,

FIG. 4B is an explanatory view for movement of an object article,

FIG. 5 is a flowchart explaining operation in a structure shown in FIG.3,

FIG. 6 is a structural view according to the second embodiment of theinvention,

FIG. 7 is a flowchart explaining operation of the structure shown inFIG. 6,

FIG. 8 is an explanatory view for explaining pattern movement anderasure processes according to the present invention,

FIGS. 9A and 9B are explanatory views for storage configuration in apattern information storage unit shown in FIGS. 3 and 6, and

FIG. 10 is an explanatory view of the storage configuration in a viewinformation storage unit.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 is a principle (i.e., basic, block-diagram) view of the firstembodiment of the invention. The three-dimensional pattern editingapparatus according to the first embodiment of the present inventioncomprises a pattern display unit 10 for displaying a plurality ofthree-dimensional patterns divided into a plurality of areas (views) onthe display device and each having the same pattern, but havingdifferent view points; a displayed pattern moving unit 12 for moving thethree-dimensional patterns which are displayed on any one view inaccordance with a predetermined input operation; a pattern movementconverting unit 14 for converting, in real time, an amount of distanceand direction of movement of the three-dimensional pattern in the viewto an amount of distance and direction of movement of thethree-dimensional pattern in another view; and a displayed patternlinking means 16 for moving the three-dimensional pattern displayed onanother view to the converted direction in accordance with only theconverted amount.

Based on the above structure, in the first aspect of the presentinvention, when the user performs a moving operation (i.e., a draggingoperation) on the dragging object of the three-dimensional pattern,which is displayed on any one view, it is possible to execute thepattern movement of the object in real time for another view.

FIG. 2 is a principle view of the second embodiment of the invention.The three-dimensional pattern editing apparatus according to the secondembodiment of the present invention is formed by a pattern display unit20 for displaying the three-dimensional patterns which become the objectof editing; a pattern holding unit 22 for holding image data of thedesignated three-dimensional pattern in an internal memory 28; a movingdestination calculating unit 24 for calculating the destination ofmovement of the designated three-dimensional pattern in real time, inaccordance with an input operation by the user; and a moved patterndisplay unit 26 for displaying the three-dimensional pattern, which isshown by the image data in the internal memory 28, to the destinationposition calculated by the calculating unit.

Based on the above structure, it is possible to perform, in real time, adisplay of the pattern movement by using the image data in the internalmemory 28 and to realize movement in accordance with only a logicoperation process for the image data.

FIG. 3 is a structural view according to the first embodiment of theinvention. A pattern displaying unit 30 is a display for a CAD system.As explained below (see, e.g., FIGS. 4A and 4B), the display image isdivided into a plurality of views, and the same three-dimensionalpattern, but having different view points, is displayed on all views.

A position information input unit 32 is, for example, a mouse orkeyboard. The user pushes the mouse button, designates the object to bedragged, and initiates the start of the dragging operation. Further, asthe user continues to push the mouse button, the object moves (drags) onthe display device. When the user releases the mouse button, themovement stops and the dragging operation is completed. In this case,the data indicating an amount of movement and direction of draggingoperation is output to a position information conversion unit 34 of thefollowing stage.

The position information conversion unit 34 converts the amount ofmovement and direction of the dragging operation, which are indicated bythe position information input unit 32, to move the dragged object,within each view, in real time. The conversion process refers todefinition data for each view which is stored in the view informationstorage unit 36.

The view information storage unit 36 includes the three-dimensionalconversion matrix which defines the view for every viewpoint. Theposition information conversion unit 34 converts the three-dimensionalmatrix to the coordinates on the internal memory using a known method.

The amount of pattern movement and direction for each view on theinternal memory are obtained in the position conversion unit 34; thesemovements and directions then are sent to a dragging generation unit 38.

The dragging generation unit 38 calculates the position of destinationof the pattern movement for each view in accordance with the amount ofmovement and the direction which are passed thereto from the positioninformation converting unit 34, reads the data which indicates thethree-dimensional pattern of the dragging object from the patterninformation storage unit 40 which is an external storage apparatus,draws the three-dimensional pattern indicated by this data to theposition of the destination of the movement of that pattern, which iscalculated for each view, and erases the original three-dimensionalpattern.

FIG. 4A is one example of a display of each view on the display device.This example is an example of four divided views (views 1 to 4). Asshown in the drawing, for example, when the object is structured by asmall disk A1 and a large disk A2, configurations for various viewpoints which are required by the user are displayed on views 1 to 4.

FIG. 4B is an explanatory view for movement of an object. When theobject of movement is A1, the amount of movement and direction are shownby an arrow. In the views 2 to 4, the small disk A1 is shown by dottedline in the original position before movement.

In the present invention, as shown by FIG. 4A, when the samethree-dimensional patterns are shown in each view in accordance withdifferent viewpoints, and when the dragging operation is performed forany one view, the pattern movement of this dragging operation issimultaneously reflected in each view as shown by FIG. 4B.

According to the present invention, the user can confirm whether or notthe three-dimensional pattern is moved to the target position byreferring to another view during the dragging operation. Accordingly, itis possible to move the three-dimensional pattern to the target positionby one dragging operation so that the editing work for pattern movementcan be easily done.

FIG. 5 is a flowchart explaining operation in the structure shown inFIG. 3. When the position information conversion unit 34 receives astart instruction (a request for dragging operation) from the user (stepS1), the unit 34 checks continuously whether or not the draggingoperation is completed until it receives a completion instruction (stepS2). When the dragging operation is not completed (NO), the amount ofmovement and direction of dragging operation, which is indicated by thedata sent from the position information input unit 32, are converted tochanges as well the display of the object in each view, in real time, byreferring to the definition data as to each of the views, which data arestored in the view information storage unit 36 (step S3). The processesS2 to S6 are repeated, until the dragging operation is completed (YES),and the process also is then completed.

In the position information converting unit 34, when the amount ofpattern movement and direction of each view are determined, the amountof movement and direction are sent to the dragging generation unit 38.

The dragging generation unit 38 calculates the position of thedestination of the pattern movement for each view in accordance with theamount of movement and direction which are sent from the positioninformation converting unit 34, reads the data which indicates thethree-dimensional pattern of the dragging object from the patterninformation storage unit 40 (step S4), draws the three-dimensionalpattern indicated by this data at the position of destination ofmovement, as calculated for each view, deletes the original pattern(step S5), and finally determines whether or not the pattern movement iscompleted for all views (step S6). Further, when the pattern movement iscompleted for all views (YES), the process returns to step S2. When thepattern movement is not completed, the process starts again from stepS3.

FIG. 6 is a structural view according to the second embodiment of theinvention. As explained in relation to the embodiment of FIG. 3, thepattern displaying unit 40 is the display for a CAD system. The unit 40divides the image into a plurality of views, and displays the samethree-dimensional object in each view, based on a different viewpoint.

In the position information input unit 42, the user pushes the mousebutton and designates the object which is to start the draggingoperation. While the user continues to push the mouse button, the objectcontinues to move on the display, during the operators pushingoperation. Further, when the user releases the mouse button, themovement is stopped so that the dragging operation is completed. In thiscase, the data indicating the amount of movement and direction of thedragging operation are input to the position information converting unit44 of the following stage.

The position information converting unit 44 converts the amount ofmovement and direction of dragging operation, which is indicated by thedata sent from the position information input unit 42, to which theobject is subjected, in each view and in real time from the startinstruction of the dragging operation until the end instruction. Thedefined data for each view, which is stored in the view informationstorage unit 46, is referred to in the conversion process.

When initiating the start of the dragging operation from the positioninformation input unit 42 to the position information converting unit44, the display control unit 48 calculates the rectangular area in whichthe three-dimensional pattern of the dragging object is included.Further, the display control unit 48 initiates the holding of thethree-dimensional pattern in the dragging pattern holding unit 50.

When the dragging pattern holding unit 50 is instructed so as to holdthe three-dimensional pattern which is designated as the draggingobject, it starts the dragging pattern generation unit 52. Further, thedragging pattern generation unit 52 accepts the display data in eachrectangular area, which is calculated by the display control unit 48from the pattern information storage unit 54, and stores these data inthe internal memory of the dragging pattern holding unit 50.

After these operations and until the completion of dragging operation isindicated by the position information input unit 42 to the positioninformation conversion unit 44, the position of the destination of thepattern movement in each view is calculated, as in the first embodiment,based on the amount of movement and the direction of the draggingoperation which is obtained (i.e., determined) by the positioninformation conversion unit 44, and displays the position of the draggedobject at the new position and erases the original pattern.

FIG. 7 is a flowchart explaining the operation of the structure shown inFIG. 6. As explained above, when the start of the dragging operation isindicated by the position information input unit 42 to the positioninformation converting unit 44, the display control unit 48 calculatesthe rectangular area which includes the three-dimensional patterns to bedragged in each view (step S11). Further, the display control unit 48initiates the holding of the three-dimensional pattern in the draggingpattern holding unit 50, and stores the pattern to be dragged in therectangular area in the internal memory 28 of the dragging patternholding unit 50 (step 12).

Next, the display control unit 48 acquires the position which willbecome the moving destination on the view (step 13), and reads theinformation to be displayed from the internal memory 28 and displays itat the position of the destination (step 14). Further, the displaycontrol unit 48 erases the original pattern display (step 15), anddetermines whether or not the dragging operation is completed (S16).When the dragging operation is not completed (NO), the process returnsto and starts from the step S13. When the dragging operation iscompleted (YES), the pattern movement process is completed.

FIG. 8 is an explanatory view for explaining pattern movement anderasure processes according to the present invention. There are a smalldisk A1 which is to be dragged and a large disk A2 which is not to bemoved on the pattern display unit 40. First, the small disk A1 is heldin the internal memory 28 of the dragging pattern holding unit 50, anddisplayed on the display device 40 after the position thereof is movedto another position on the internal memory of unit 50. Further, thesmall disk A1' at the original position is erased.

As explained above, in the present invention, the movement of thethree-dimensional pattern during the dragging operation can be displayedimmediately after the logic operation in the internal memory 28.Accordingly, it is possible to display the three-dimensional pattern athigh speed and for every view in accordance with the dragging operationso that it is possible to effectively perform the editing work of thepattern movement.

FIGS. 9A and 9B are explanatory views of storage configuration in thepattern information storage unit 54 in FIG. 6. FIG. 9A shows one exampleof the three-dimensional object, for example, a column. The coordinatesX, Y and Z, a radius (1) and height (2) are defined on the column.

FIG. 9B shows the data storage configuration of the three-dimensionalpattern. The data storage configuration is formed of a pattern areamasking portion, an attribute portion defining primitive length andtype, and a geometric portion defining coordinates X, Y, Z on thethree-dimensional space and vectors of unit direction for Z and X axes.

FIG. 10 is an explanatory view of the storage configuration in the viewinformation storage unit 46 of FIG. 3. There are four views 1 to 4 forthe three-dimensional object shown in the drawing. These viewscorrespond to four views in FIG. 4A. Each view is defined by thethree-dimensional coordinate conversion matrix. The position informationconverting unit 34 of FIG. 3 converts the coordinates of each view tothe coordinates in the internal memory in accordance with thethree-dimensional coordinate conversion matrix of each view in the viewinformation storage unit 36.

According to the present invention, since it is possible to easilyperform the dragging operation at high speed in a three-dimensionalpattern editing apparatus which is used in the CAD system, the presentinvention has high capability of utilization for pattern processing in aCAD system.

We claim:
 1. A three-dimensional pattern editing apparatus in a CADsystem, said apparatus comprising:pattern display means for displaying aplurality of different views, of related three-dimensional patternshaving respective, different viewpoints and indicating a common object,on a plurality of respective, divided display areas; input means forpermitting a user to input a request for performing a dragging operationon an object in accordance with selecting a three-dimensional pattern ofthe object as displayed on a selected, divided display area, and movingthe selected three-dimensional pattern; display pattern moving means formoving the selected, three-dimensional pattern displayed on theselected, divided display area in accordance with the input request;pattern movement converting means for converting an amount and directionof movement of the selected three-dimensional pattern, as displayed inselected, divided display area, to, and for outputting, a convertedamount and direction of movement of each related three-dimensionalpattern of the common object for each of the other, respective differentviewpoints thereof respectively displayed in the other, respectivedivided areas, in real time; and display linking means for moving therelated three-dimensional patterns of the common object as displayed onthe other, respective divided areas by the converted amount anddirection of movement as output by the pattern movement convertingmeans, the dragging operation performed by the user on the selectedthree-dimensional pattern displayed on the selected, divided areathereby being converted to and executed in real time as converteddragging operations for the related three-dimensional patterns in therespective, divided areas.
 2. A three-dimensional pattern editingapparatus as claimed in claim 1 wherein the display pattern moving meansis one of a mouse and a keyboard.
 3. A three-dimensional pattern editingapparatus as claimed in claim 1, further comprising a view informationstorage unit for storing definition data for each view and a patterninformation storage unit for storing the three-dimensional pattern data.4. A three-dimensional pattern editing apparatus as claimed in claim 1wherein the pattern movement converting means further comprises a viewinformation storage unit and a position information converting unitwhich converts each view to coordinates in an internal memory, based onview definition information derived thereby from the view informationstorage unit, and calculates an amount and direction of movement of thethree-dimensional pattern, constituting a dragging operation performedon the three-dimensional pattern.
 5. A three-dimensional pattern editingapparatus as claimed in claim 1 wherein the display pattern linkingmeans further comprises a dragging generation unit which refers to thethree-dimensional pattern and generates dragging information based on anamount and direction of movement of the three-dimensional pattern.
 6. Athree-dimensional pattern editing apparatus as claimed in claim 1,further comprising:pattern holding means for holding image data of thethree-dimensional pattern of an object on which a dragging operation isperformed; moving destination calculating means for calculating thedestination of movement of the three-dimensional pattern which becomesthe dragged object in accordance with the input request by the user; andmoved pattern display means for displaying the three-dimensionalpattern, as indicated by image data in an internal memory, at acalculated destination position, the processes for displaying thedragging operation in real time being executed in accordance with only alogic operation by using image data in the internal memory.
 7. Athree-dimensional pattern editing apparatus as claimed in claim 6,wherein the moving destination calculating means further comprises aposition information converting unit which converts each view tocoordinates in an internal memory based on stored view definitioninformation, and calculates an amount and direction of movement of thethree-dimensional pattern.
 8. A three-dimensional pattern editingapparatus as claimed in claim 6, wherein the moved pattern display meansfurther comprises a display control unit for controlling the displayedimage, and a dragging pattern holding unit for holding a draggingpattern in an internal memory based on an instruction from the displaycontrol unit.